﻿/////////////////////////////////////////////////////////////////////////////////
///              ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO                   ///
///                        PROYECTO INTEGRADOR IV                             /// 
///                         PROYECTO SICOPS 2011                              /// 
/// ------------------------------------------------------------------------- ///  
///              **********GRUPO DE DESARROLLADORES**********                 ///
///                    ************PEGASO*************                        /// 
///---------------------------------------------------------------------------///
///                                                         RIOBAMBA-ECUADOR  ///
///---------------------------------------------------------------------------///
///                CLASE ADMINISTRACION DE LA TABLA PROVEEDORES               ///
/////////////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;
using System.Data.Common;
using System.Drawing;
//Clse para la administracion de proveedores
namespace LogisticaDeAcceso.ClasesDeAcceso
{
    public class clsProveedor
    {
        private SqlCommand SqlProSeleccionar;
        private SqlConnection SqlProConexion;
        private SqlDataAdapter SqlProAdaptador;
        /// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Configuracion de ingreso de nuevos proveedores
        public void metConfiguracionIngresarPr(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_IngresarProveedor";
            this.SqlProSeleccionar.CommandType = CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", SqlDbType.Int, 4, ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", DataRowVersion.Current, null),
            new SqlParameter("@Codigo", SqlDbType.VarChar, 12),
            new SqlParameter("@Nombre", SqlDbType.VarChar, 50),
            new SqlParameter("@Responsable", SqlDbType.VarChar, 50),
            new SqlParameter("@Obs", SqlDbType.VarChar, 50),
            new SqlParameter("@TextCedRuc", SqlDbType.VarChar, 15),
            new SqlParameter("@Direccion", SqlDbType.VarChar, 100),
            new SqlParameter("@Telefono", SqlDbType.VarChar, 12),
            new SqlParameter("@Ciudad", SqlDbType.VarChar, 50),
            new SqlParameter("@Pais", SqlDbType.VarChar, 30)});
        
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
        //Metod que activa el procedimiento de ingreso de proveedores en los registros
        public void metActivarIngreasPr(string Codigo,string Nombre,string Responsable,string Obs,string TextCedRuc,string Direccion,string Telefono,string Ciudad,string Pais)
        {
            SqlProAdaptador.SelectCommand.Parameters["@Codigo"].Value = Codigo;//////////////////////Codigo asignado por el sistema
            SqlProAdaptador.SelectCommand.Parameters["@Nombre"].Value = Nombre;//////////////////////Nombre del proveedor
            SqlProAdaptador.SelectCommand.Parameters["@Responsable"].Value = Responsable;////////////Nombre del responsable de la empresa 
            SqlProAdaptador.SelectCommand.Parameters["@Obs"].Value = Obs;////////////////////////////Observciones del proveedor
            SqlProAdaptador.SelectCommand.Parameters["@TextCedRuc"].Value = TextCedRuc;//////////////Cedula del proveedor o ruc de la empresa
            SqlProAdaptador.SelectCommand.Parameters["@Direccion"].Value = Direccion;////////////////Direccion de la sede
            SqlProAdaptador.SelectCommand.Parameters["@Telefono"].Value = Telefono;//////////////////Telefono del proveedor
            SqlProAdaptador.SelectCommand.Parameters["@Ciudad"].Value = Ciudad;//////////////////////Ciudad de ubicacion
            SqlProAdaptador.SelectCommand.Parameters["@Pais"].Value = Pais;//////////////////////////Pais
            SqlProConexion.Open();///////////////////////////////////////////////////////////////////Abri conexion
            try//Muestra el mensaje que esta en el procedimiento almacenado
            {
                SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecutar el procedimiento 
            }
            catch (Exception auxMensaje)//El procedimiento tiene un mensaje que imprime si la clave es cambiada con exito
            {
                MessageBox.Show(auxMensaje.Message);
            }
            SqlProConexion.Close();
        }
        /// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Retorno de las ciudades
        public void metConfigurarGetCiud(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "SELECT     vs_getCiudadesProveedor.*\r\nFROM         vs_getCiudadesProveedor";
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
          
        }
        // Retorno de las paises
        public void metConfigurarGetPai(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "SELECT     vs_getPaisProveedor.*\r\nFROM         vs_getPaisProveedor";
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
       
        public void metActivarGetCiu(ColeccionDeDatos Col)
        {
            //Control de ciudades ingresadas
            SqlProAdaptador.Fill(Col.vs_getCiudadesProveedor);
        }
        public void metActivarGetPai(ColeccionDeDatos Col)
        {
            //Control de paises ingresados
            SqlProAdaptador.Fill(Col.vs_getPaisProveedor);
        }
        /// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Configuracion de la vista que permite acceder a lo datos ingresados
        public void metConfigurarProveedoresRe(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "SELECT     vs_getProveedoresResitrados.*\r\nFROM         vs_getProveedoresResitrado" +
                "s";
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
          
        //Lista de proveedores registrados
        public void metActivarProveedoresReg(ColeccionDeDatos Col)
        {
            SqlProAdaptador.Fill(Col.vs_getProveedoresResitrados);
        }
        //Metodo que cuenta la fila demla signacion
        public int metNumeroFilasDE(ColeccionDeDatos Col)
        {
            DataTable Ta = Col.vs_getProveedoresResitrados;
            DataRowCollection Val = Ta.Rows;
            return Val.Count;
        }
        /// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Metodo para actualizar datos del proveedor
        public void metConfigurarActualizarProv(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_ActualizarProveedor";
            this.SqlProSeleccionar.CommandType = CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", SqlDbType.Int, 4, ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", DataRowVersion.Current, null),
            new SqlParameter("@CodigoP", SqlDbType.VarChar, 25),
            new SqlParameter("@Nombre", SqlDbType.VarChar, 50),
            new SqlParameter("@Responsable", SqlDbType.VarChar, 50),
            new SqlParameter("@Observacion", SqlDbType.VarChar, 50),
            new SqlParameter("@Ced", SqlDbType.VarChar, 20),
            new SqlParameter("@Direccion", SqlDbType.VarChar, 100),
            new SqlParameter("@Tele", SqlDbType.VarChar, 15),
            new SqlParameter("@Ciudad", SqlDbType.VarChar, 50),
            new SqlParameter("@Pais", SqlDbType.VarChar, 30)});
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
        //Ejecucion del procedimiento de ingreso
        public void metActivarActualizarProv(string CodigoP, string Nombre, string Responsable, string Observacion, string Ced, string Direccion, string Tele, string Ciudad, string Pais)
        {
            SqlProAdaptador.SelectCommand.Parameters["@CodigoP"].Value = CodigoP;///////////Codigo proveedor
            SqlProAdaptador.SelectCommand.Parameters["@Nombre"].Value = Nombre;/////////////Nombre del proveedor
            SqlProAdaptador.SelectCommand.Parameters["@Responsable"].Value = Responsable;///Responsable de la empresa o proveedor
            SqlProAdaptador.SelectCommand.Parameters["@Observacion"].Value = Observacion;///Obserbaciones del responsable
            SqlProAdaptador.SelectCommand.Parameters["@Ced"].Value = Ced;///////////////////Cedula o Ruc de identificacion del proveedor
            SqlProAdaptador.SelectCommand.Parameters["@Direccion"].Value = Direccion;///////Direccion de ubicacion de la empresa
            SqlProAdaptador.SelectCommand.Parameters["@Tele"].Value = Tele;/////////////////Telefono
            SqlProAdaptador.SelectCommand.Parameters["@Ciudad"].Value = Ciudad;/////////////Ciudad del local principal
            SqlProAdaptador.SelectCommand.Parameters["@Pais"].Value = Pais;/////////////////Pais de la empresa
            SqlProConexion.Open();
            try//Verifica si existio algun error
            {
                SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecutar el procedimiento 
            }
            catch (Exception auxMensaje)//El procedimiento tiene un mensaje que imprime si la clave es cambiada con exito
            {
                MessageBox.Show(auxMensaje.Message);
            }
            SqlProConexion.Close();
        }
        /// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Metodo de configuracion para ver los datos ingresados en la tabla proveedor
         public void metConfiguracionMostrarProveedor(string Conexion)
            {
                this.SqlProSeleccionar = new SqlCommand();
                this.SqlProConexion = new SqlConnection();
                this.SqlProAdaptador = new SqlDataAdapter();
                // 
                // SqlProSeleccionar  
                // 
                this.SqlProSeleccionar.CommandText = "SELECT     vs_MostrarProveedor.*\r\nFROM         vs_MostrarProveedor";
                this.SqlProSeleccionar.Connection = this.SqlProConexion;
                // 
                // SqlProConexion
                // 
                this.SqlProConexion.ConnectionString = Conexion;
                // 
                // SqlProAdaptador
                // 
                this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
    }
    //Ejecucion de la configuracion para mostrar proveedores
    public void metActivarMostrarProveedor(ColeccionDeDatos Col)
    {
        SqlProAdaptador.Fill(Col.vs_MostrarProveedor);
    }
    /// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //Configurar eliminacion de proveedores
    public void metConfiguracionEliminarProv(string Conexion)
    {
        this.SqlProSeleccionar = new SqlCommand();
        this.SqlProConexion = new SqlConnection();
        this.SqlProAdaptador = new SqlDataAdapter();
        // 
        // SqlProSeleccionar
        // 
        this.SqlProSeleccionar.CommandText = "dbo.sp_EliminarProveedor";
        this.SqlProSeleccionar.CommandType = CommandType.StoredProcedure;
        this.SqlProSeleccionar.Connection = this.SqlProConexion;
        this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", System.Data.DataRowVersion.Current, null),
            new SqlParameter("@Codigo", SqlDbType.VarChar, 10)});
        // 
        // SqlProConexion
        // 
        this.SqlProConexion.ConnectionString = Conexion;
        // 
        // SqlProAdaptador
        // 
        this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
    }
     //Ejecucion de eliminacion de proveedores
    public void metActivarEliminarProv(string Codigo)
    {
        SqlProAdaptador.SelectCommand.Parameters["@Codigo"].Value = Codigo;/////////////////Pais de la empresa
        SqlProConexion.Open();
        try//Verifica si existio algun error
        {
            SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecutar el procedimiento 
        }
        catch (Exception auxMensaje)//El procedimiento tiene un mensaje que imprime si la clave es cambiada con exito
        {
            MessageBox.Show(auxMensaje.Message);
        }
        SqlProConexion.Close();
    }
    }
}
